package com.ehotting.edsta.csharpServer.mapper;

import com.ehotting.edsta.csharpServer.domain.ProjectSimulation;

import java.util.List;

/**
 * 工程仿真计算Mapper接口
 * 
 * @author edsta
 * @date 2023-04-11
 */
public interface ProjectSimulationMapper 
{
    /**
     * 查询工程仿真计算
     * 
     * @param id 工程仿真计算主键
     * @return 工程仿真计算
     */
    ProjectSimulation selectProjectSimulationById(Long id);

    /**
     * 查询工程仿真计算列表
     * 
     * @param projectSimulation 工程仿真计算
     * @return 工程仿真计算集合
     */
    List<ProjectSimulation> selectProjectSimulationList(ProjectSimulation projectSimulation);

    /**
     * 查询仿真参数的工程仿真计算数据
     * @param projectSimulation
     * @return
     */
    ProjectSimulation selectProjectSimulationArgs(ProjectSimulation projectSimulation);

    /**
     * 查询仿真结果的工程仿真计算数据
     * @param projectSimulation
     * @return
     */
    ProjectSimulation selectProjectSimulationRes(ProjectSimulation projectSimulation);

    /**
     * 新增工程仿真计算
     * 
     * @param projectSimulation 工程仿真计算
     * @return 结果
     */
    int insertProjectSimulation(ProjectSimulation projectSimulation);

    /**
     * 修改工程仿真计算
     * 
     * @param projectSimulation 工程仿真计算
     * @return 结果
     */
    int updateProjectSimulation(ProjectSimulation projectSimulation);

    /**
     * 删除工程仿真计算
     * 
     * @param id 工程仿真计算主键
     * @return 结果
     */
    int deleteProjectSimulationById(Long id);

    /**
     * 根据工程id删除工程仿真计算
     *
     * @param id 工程仿真计算主键
     * @return 结果
     */
    int deleteProjectSimulationByProjectId(Long id);

    /**
     * 批量删除工程仿真计算
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteProjectSimulationByIds(Long[] ids);

    /**
     * 根据工程id批量删除工程仿真计算
     *
     * @param ids 需要删除的工程id集合
     * @return 结果
     */
    int deleteProjectSimulationByProjectIds(Long[] ids);
}
